﻿// See https://aka.ms/new-console-template for more information
using StorategyApp;
using System.Runtime.CompilerServices;


//策略设计模式，（简单工厂模式）
//通过在策略部分使用多态写法来实现不同情况的操作

string strOperator = Console.ReadLine().ToString();

#region 策略部分

        //策略部分，一般要单独放在一个类里面
        //策略部分使用判断结构来决定使用哪种策略
        //一般策略部分使用多态写法
        //多态写法：  子类实例化用父类接收，（父类实例化子类）
        Colulator colulator = strOperator switch
        {
            "+" => new Plus(4, 2),
            "-" => new Reduce(4, 2),
            "*" => new Multi(4, 2),
            "/" => new Device(4, 2)
        };

        Console.WriteLine(colulator.Excute());
#endregion

Console.ReadLine();